<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ExceptionReporter.WinForms</name>
    </assembly>
    <members>
        <member name="T:ExceptionReporting.Core.ExceptionReportGenerator">
            <summary>
            ExceptionReportGenerator does everything that needs to happen to generate an ExceptionReport
            This class is the entry point to use 'ExceptionReporter' as a general-purpose exception reporter
            (ie use this class to create an exception report without showing a GUI/dialog)
            </summary>
        </member>
        <member name="T:ExceptionReporting.Core.Disposable">
            <summary>
            Base class for all classes wanting to implement <see cref="T:System.IDisposable"/>.
            </summary>
            <remarks>
            Base on an article by Davy Brion 
            <see href="http://davybrion.com/blog/2008/06/disposing-of-the-idisposable-implementation/"/>.
            </remarks>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReportGenerator.#ctor(ExceptionReporting.Core.ExceptionReportInfo)">
            <summary>
            Initialises some ExceptionReportInfo properties related to the application/system
            </summary>
            <param name="reportInfo">an ExceptionReportInfo, can be pre-populated with config
            however 'base' properties such as MachineName</param>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReportGenerator.CreateExceptionReport">
            <summary>
            Create an exception report 
            NB This method re-uses the same information retrieved from the system on subsequent calls
            Create a new ExceptionReportGenerator if you need to refresh system information from the computer
            </summary>
            <returns></returns>
        </member>
        <member name="T:ExceptionReporting.IExceptionReportView">
            <summary>
            The interface (contract) for an ExceptionReportView
            </summary>
        </member>
        <member name="T:ExceptionReporting.SystemInfo.SysInfoQuery">
            <summary>
            describes a query to SysInfo (more precisely, the Windows 'WMI' ManagementObjectSearcher)
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReportBuilder.Build">
            <summary>
            Build the exception report
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReportBuilder.ExceptionHierarchyToString(System.Exception)">
            <summary>
            Create a line-delimited string of the exception hierarchy 
            //TODO see Label='EH' in View, this is doing too much and is duplicated
            </summary>
        </member>
        <member name="T:ExceptionReporting.Config.IFileReader">
            <summary>generic interface to reading a file</summary>
        </member>
        <member name="M:ExceptionReporting.Config.IFileReader.ReadAll(System.String)">
            <summary>read all contents of a file</summary>
        </member>
        <member name="T:ExceptionReporting.WinForms.Views.InternalExceptionView">
            <summary>
            For exceptions within the ExceptionReporter - considering removing altogether
            </summary>
        </member>
        <member name="T:ExceptionReporting.IInternalExceptionView">
            <summary>
            An interface that represents the presentation of an internal exception
            </summary>
        </member>
        <member name="M:ExceptionReporting.IInternalExceptionView.ShowException(System.String,System.Exception)">
            <summary> Show the internal exception</summary>
        </member>
        <member name="T:ExceptionReporting.ViewFactory">
            <summary>
            ViewFactory inspects the assembly and retrieves the appropriate class
            </summary>
        </member>
        <member name="T:ExceptionReporting.SystemInfo.SysInfoRetriever">
            <summary>
            Retrieves system information using WMI
            </summary>
        </member>
        <member name="M:ExceptionReporting.SystemInfo.SysInfoRetriever.Retrieve(ExceptionReporting.SystemInfo.SysInfoQuery)">
            <summary>
            Retrieve system information, using the given SysInfoQuery to determine what information to retrieve
            </summary>
            <param name="sysInfoQuery">the query to determine what information to retrieve</param>
            <returns>a SysInfoResult ie containing the results of the query</returns>
        </member>
        <member name="T:ExceptionReporting.Core.ExceptionReporter">
            <summary>
            The entry-point (class) to invoking an ExceptionReporter dialog
            eg new ExceptionReporter().Show()
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReporter.#ctor">
            <summary>
            Initialise the ExceptionReporter
            <remarks>readConfig() should be called (explicitly) if you need to override default config settings</remarks>
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReporter.Show(System.Exception[])">
            <summary>
            Show the ExceptionReport dialog
            </summary>
            <remarks>The <see cref="T:ExceptionReporting.Core.ExceptionReporter"/> will analyze the <see cref="T:System.Exception"/>s and 
            create and show the report dialog.</remarks>
            <param name="exceptions">The <see cref="T:System.Exception"/>s to show.</param>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReporter.Show(System.String,System.Exception[])">
            <summary>
            Show the ExceptionReport dialog with a custom message instead of the Exception's Message property
            </summary>
            <param name="customMessage">custom (exception) message</param>
            <param name="exceptions">The exception/s to display in the exception report</param>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReporter.ReadConfig">
            <summary>
            Read settings from config file
            <remarks> This method must be explicitly called - config is not automatically read</remarks>
            </summary>
        </member>
        <member name="P:ExceptionReporting.Core.ExceptionReporter.Config">
            <summary>
            Public access to configuration
            </summary>
        </member>
        <member name="T:ExceptionReporting.SystemInfo.SysInfoResultMapper">
            <summary>
             Map SysInfoResults to human-readable formats
            </summary>
        </member>
        <member name="M:ExceptionReporting.SystemInfo.SysInfoResultMapper.AddTreeViewNode(System.Windows.Forms.TreeNode,ExceptionReporting.SystemInfo.SysInfoResult)">
            <summary>
            Add a tree node to an existing parentNode, by passing the SyfInfoResult
            </summary>
        </member>
        <member name="M:ExceptionReporting.SystemInfo.SysInfoResultMapper.CreateStringList(System.Collections.Generic.IEnumerable{ExceptionReporting.SystemInfo.SysInfoResult})">
            <summary>
            create a string representation of a list of SysInfoResults, customised specifically (eg 2-level deep)
            </summary>
        </member>
        <member name="T:ExceptionReporting.Core.ExceptionReportInfo">
            <summary>
            a bag of information (some of which is stored and retrieved from config)
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReportInfo.SetExceptions(System.Collections.Generic.IEnumerable{System.Exception})">
            <summary>
            Add multiple exceptions to be shown (each in a separate tab if shown in dialog)
            <remarks>
            Note: Showing multiple exceptions is a special-case requirement - for only 1 top-level exception
            use the MainException property instead
            </remarks>
            </summary>
        </member>
        <member name="P:ExceptionReporting.Core.ExceptionReportInfo.MainException">
            <summary>
            The Main (ostensibly 'only') exception, which is the subject of this exception 'report'
            Setting this property will clear any previously set exceptions
            <remarks>If multiple top-level exceptions are required, use SetExceptions instead</remarks>
            </summary>
        </member>
        <member name="P:ExceptionReporting.Core.ExceptionReportInfo.ContactEmail">
            <summary>
            an email that is displayed in the 'Contact Information' (see EmailReportAddress for the email used to actually send)
            </summary>
        </member>
        <member name="P:ExceptionReporting.Core.ExceptionReportInfo.EmailReportAddress">
            <summary>
            address that is used to send an email (eg appears in the 'to:' field in the default email client if simpleMAPI)
            </summary>
        </member>
        <member name="T:ExceptionReporting.Core.ExceptionReportInfo.EmailMethod">
            <summary>
            Enumerated type used to represent supported e-mail mechanisms 
            </summary>
        </member>
        <member name="T:ExceptionReporting.ExceptionReportPresenter">
            <summary>
            The Presenter in this MVP (Model-View-Presenter) implementation 
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.SaveReportToFile(System.String)">
            <summary>
            Save the exception report to file/disk
            </summary>
            <param name="fileName">the filename to save</param>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.SendReportByEmail(System.IntPtr)">
            <summary>
            Send the exception report via email, using the configured email method/type
            </summary>
            <param name="handle">The handle of the window to use in sending the email</param>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.CopyReportToClipboard">
            <summary>
            copy the report to the clipboard, using the clipboard implementation supplied
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.ToggleDetail">
            <summary>
            toggle the detail between 'simple' (just messsage) and showFullDetail (ie normal)
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.GetSysInfoResults">
            <summary>
            Get the system information results
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.SendContactEmail">
            <summary>
            Send email (using ShellExecute) to the configured contact email address
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.NavigateToWebsite">
            <summary>
            Navigate to the website configured
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.PopulateReport">
            <summary>
            The main entry point, populate the report with everything it needs
            </summary>
        </member>
        <member name="M:ExceptionReporting.ExceptionReportPresenter.Close">
            <summary>
            Close/cleanup
            </summary>
        </member>
        <member name="P:ExceptionReporting.ExceptionReportPresenter.AppAssembly">
            <summary>
            The application assembly - ie the main application using the exception reporter assembly
            </summary>
        </member>
        <member name="P:ExceptionReporting.ExceptionReportPresenter.Clipboard">
            <summary>
            An IClipboard needs to be set by the calling View before copying to clipboard (see IClipboard for info)
            </summary>
        </member>
        <member name="T:ExceptionReporting.WinForms.Views.ExceptionReportView">
            <summary>
            The main ExceptionReporter dialog
            </summary>
        </member>
        <member name="F:ExceptionReporting.WinForms.Views.ExceptionReportView.components">
            <summary>
            Required designer variable.
            </summary>
        </member>
        <member name="M:ExceptionReporting.WinForms.Views.ExceptionReportView.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        </member>
        <member name="M:ExceptionReporting.WinForms.Views.ExceptionReportView.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:ExceptionReporting.WinForms.Views.ExceptionReportView.PopulateTabs">
            <summary>
            starts with all tabs visible, and removes ones that aren't configured to show
            </summary>
        </member>
        <member name="T:ExceptionReporting.Core.AssemblyReferenceDigger">
            <summary>
            Used to find and do things with referenced assemblies
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.AssemblyReferenceDigger.#ctor(System.Reflection.Assembly)">
            <summary>Initialise with assembly</summary>
        </member>
        <member name="M:ExceptionReporting.Core.AssemblyReferenceDigger.CreateReferencesString">
            <summary> Finds all assemblies referenced and return a string </summary>
            <returns>line-delimited string of referenced assemblies</returns>
        </member>
        <member name="F:ExceptionReporting.WinForms.Views.ExceptionDetailControl.components">
            <summary> 
            Required designer variable.
            </summary>
        </member>
        <member name="M:ExceptionReporting.WinForms.Views.ExceptionDetailControl.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        </member>
        <member name="M:ExceptionReporting.WinForms.Views.ExceptionDetailControl.InitializeComponent">
            <summary> 
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="T:ExceptionReporting.ViewResolver">
            <summary>
            Resolve a view from an assembly (limited to ExceptionReportView and InternalExceptionView)
            This flexibility is required in order to load either a WPF or WinForms version of the view class
            </summary>
        </member>
        <member name="M:ExceptionReporting.ViewResolver.#ctor(System.Reflection.Assembly)">
            <summary>
             Initialise the ViewResolver with an assembly to search
            </summary>
            <param name="assembly">the Assembly which contains the desired view</param>
        </member>
        <member name="M:ExceptionReporting.ViewResolver.Resolve``1">
            <summary>
            Resolve an interface to a concrete view class, limited to 2 particular expected 'View' classes in ExceptionReporter
            </summary>
            <typeparam name="T">The interface type (currenty just IExceptionReportView or IInternalExceptionView)</typeparam>
            <returns>An instance of a type that implements the interface (T) in the given assembly (see constructor)</returns>
        </member>
        <member name="T:ExceptionReporting.Core.ScreenshotTaker">
            <summary>
            Utility to take a screenshot and return as a graphic file 
            </summary>
        </member>
        <member name="F:ExceptionReporting.Core.ScreenshotTaker.ScreenshotMimeType">
            <summary>The (hard-coded) file type that will be used to save the attached screenshot </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ScreenshotTaker.TakeScreenShot">
            <summary> Take a screenshot (supports multiple monitors) </summary>
            <returns>Bitmap of the screen, as at the time called</returns>
        </member>
        <member name="M:ExceptionReporting.Core.ScreenshotTaker.GetImageAsFile(System.Drawing.Bitmap)">
            <summary>
            Return the supplied Bitmap, as a file on the system, in JPEG format
            </summary>
            <param name="bitmap">The Bitmap to save (most likely one created using TakeScreenshot()</param>
            <returns></returns>
        </member>
        <member name="T:ExceptionReporting.Core.IClipboard">
            <summary>
             interface to abstract the concept of a clipboard - required because of the different implementations 
             of clipboard in windows (ie WPF and WinForms)
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.IClipboard.CopyTo(System.String)">
            <summary> copy text to clipboard </summary>
            <param name="text">plain-text string</param>
        </member>
        <member name="T:ExceptionReporting.SystemInfo.SysInfoResult">
            <summary>
            SysInfoResult holds results from a (ultimately WMI) query into system information
            </summary>
        </member>
        <member name="M:ExceptionReporting.Mail.MailSender.SendSmtp(System.String,ExceptionReporting.Mail.MailSender.CompletedMethodDelegate)">
            <summary>
            Send SMTP email
            </summary>
        </member>
        <member name="M:ExceptionReporting.Mail.MailSender.SendMapi(System.String,System.IntPtr)">
            <summary>
            Send SimpleMAPI email
            </summary>
        </member>
        <member name="T:System.Runtime.CompilerServices.ExtensionAttribute">
            <summary>
            a hack (?) to ensure that we can use Extension Methods and still target .NET2
            see http://www.danielmoth.com/Blog/2007/05/using-extension-methods-in-fx-20.html
            </summary>
        </member>
        <member name="T:ExceptionReporting.Extensions.ExceptionReporterExtensions">
            <summary>
            All extension methods for ExceptionReporter
            </summary>
        </member>
        <member name="M:ExceptionReporting.Extensions.ExceptionReporterExtensions.AppendDottedLine(System.Text.StringBuilder)">
            <summary>
            Append a dotted line to the given string
            </summary>
        </member>
        <member name="M:ExceptionReporting.Extensions.ExceptionReporterExtensions.GetString(System.String,System.String)">
            <summary>
            Return a string if not null, else the current value
            </summary>
        </member>
        <member name="M:ExceptionReporting.Extensions.ExceptionReporterExtensions.GetBool(System.String,System.Boolean)">
            <summary>
            Returns the boolean value of configString; where configString is null or empty, the current value is returned
            <remarks>all of (case insensitive) 'y' 'n' 'true' or 'false' are accepted as boolean indicators</remarks>
            </summary>
        </member>
        <member name="T:ExceptionReporting.Core.ExceptionReport">
            <summary>
            Encapsulates the concept of an ExceptionReport
            </summary>
        </member>
        <member name="M:ExceptionReporting.Core.ExceptionReport.#ctor(System.Text.StringBuilder)">
            <summary>
            Construct an ExceptionReport from a StringBuilder
            </summary>
        </member>
        <member name="T:ExceptionReporting.Config.ConfigReader">
            <summary>
            Read ExceptionReport configuration from the main application's (ie not this assembly's) config file
            </summary>
        </member>
        <member name="M:ExceptionReporting.Config.ConfigReader.#ctor(ExceptionReporting.Core.ExceptionReportInfo)">
            <param name="reportInfo">the ExceptionReportInfo object to fill with configuration information</param>
        </member>
        <member name="M:ExceptionReporting.Config.ConfigReader.ReadConfig">
            <summary>Read all settings from the application config file</summary>
        </member>
        <member name="T:ExceptionReporting.Mail.EmailTextBuilder">
            <summary>
            textual content for email introduction
            </summary>
        </member>
    </members>
</doc>
